package com.sojson.project.entity.po;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.EGeneralStatus;
import com.sojson.util.DateUtil;
import com.sojson.util.id.IdUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 房间信息Bean
 * 
 * @author liu
 * @date 2021-07-02
 */
@ApiModel("房间信息Bean")
public class HotelRoom extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1625212458411L;

    @ApiModelProperty("房间编号")
    private String no;
    @ApiModelProperty("酒店编号")
    private String noHotel;
    @ApiModelProperty("房间名称")
    private String name;
    @ApiModelProperty("类型ID")
    private Integer type;
    @ApiModelProperty("酒店描述(逗号拼接)")
    private String descs;
    @ApiModelProperty("图片")
    private String img;
    @ApiModelProperty("图片列表")
    private String imgs;
    @ApiModelProperty("原价")
    private BigDecimal priceOriginal;
    @ApiModelProperty("现价")
    private BigDecimal price;
    @ApiModelProperty("数量")
    private Integer stock;
    @ApiModelProperty("状态(1:启用,2:禁用)")
    private Integer status;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("id集合")
    private List<Integer> ids;
    @ApiModelProperty("房间编号集合")
    private List<String> nos;
    /** 房间信息集合 */
    private List<HotelRoom> hotelRooms;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public HotelRoom() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 房间编号
     */
    @Override
    public String getNo() {
        return no;
    }

    /**
     * 设置 房间编号
     */
    @Override
    public void setNo(String no) {
        this.no = no;
    }

    /**
     * 获取 酒店编号
     */
    public String getNoHotel() {
        return noHotel;
    }

    /**
     * 设置 酒店编号
     */
    public void setNoHotel(String noHotel) {
        this.noHotel = noHotel;
    }

    /**
     * 获取 房间名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 房间名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取 类型ID
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置 类型ID
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取 酒店描述(逗号拼接)
     */
    public String getDescs() {
        return descs;
    }

    /**
     * 设置 酒店描述(逗号拼接)
     */
    public void setDescs(String descs) {
        this.descs = descs;
    }

    /**
     * 获取 图片
     */
    public String getImg() {
        return img;
    }

    /**
     * 设置 图片
     */
    public void setImg(String img) {
        this.img = img;
    }

    /**
     * 获取 图片列表
     */
    public String getImgs() {
        return imgs;
    }

    /**
     * 设置 图片列表
     */
    public void setImgs(String imgs) {
        this.imgs = imgs;
    }

    /**
     * 获取 原价
     */
    public BigDecimal getPriceOriginal() {
        return priceOriginal;
    }

    /**
     * 设置 原价
     */
    public void setPriceOriginal(BigDecimal priceOriginal) {
        this.priceOriginal = priceOriginal;
    }

    /**
     * 获取 现价
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置 现价
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取 数量
     */
    public Integer getStock() {
        return stock;
    }

    /**
     * 设置 数量
     */
    public void setStock(Integer stock) {
        this.stock = stock;
    }

    /**
     * 获取 状态(1:启用,2:禁用)
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态(1:启用,2:禁用)
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 id集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 id集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 房间编号集合
     */
    public List<String> getNos() {
        return nos;
    }

    /**
     * 设置 房间编号集合
     */
    public void setNos(List<String> nos) {
        this.nos = nos;
    }

    /**
     * 获取 房间信息集合
     */
    public List<HotelRoom> getHotelRooms() {
        return hotelRooms;
    }

    /**
     * 设置 房间信息集合
     */
    public void setHotelRooms(List<HotelRoom> hotelRooms) {
        this.hotelRooms = hotelRooms;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        setNo(IdUtil.uuid());
        setStatus(EGeneralStatus.NORMAL.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setStatus(null);
    }

}